
IWnd related classes
--------------------


IWnd
----
Class Size: 0x14
----
0x0	4	vtbl
0x4	4	bool bNotWindowOwner
0x8	4	HWND hWnd
0xC	4	FilterNode* linkedListHead
0x10	4	FilterNode* linkedListTail
----


IWnd:TFrame
-----------


IWnd:TFrame:Dans_RULE_UIFrame
-----------------------------
5756C0	0x0	4	vtbl
5756C4	0x4	4	bool bNotWindowOwner
5756C8	0x8	4	HWND hWnd
5756CC	0xC	4	FilterNode* linkedListHead
5756D0	0x10	4	FilterNode* linkedListTail
------------------------
------------------------
	0x14	4	HFONT largeFont
	0x18	0x50	char[80] largeMessage
	0x68	4	int largeMessageLen
	0x6C	4	COLORREF textColor	
	0x70	0x10	RECT textRect
	 0x70	 4	 long left
	 0x74	 4	 long top
	 0x78	 4	 long right
	 0x7C	 4	 long bottom
	-----
	0x80	4	
	0x84	4	
	0x88	4	
	0x8C	4	
	0x90	4	
	0x94	4	int textY
	0x98	4	
	0x9C	4	
	0xA0	4	int displayedCommonOre	[Compared to actual to see if screen update is needed]
	0xA4	4	int displayedRareOre	[Compared to actual to see if screen update is needed]
	0xA8		
	0xAC		
	0xB0	8	LARGE_INTEGER performanceFrequency  [/1000]
575778	0xB8	4	int milliSecOfLastProcessingLoop
	0xBC	4	int milliSecPerGameTick [-1 :  1 = 0 ms, 2 = 1 ms, ...]
	0xC0	4	int milliSecPerGameTick	[-1 :  1 = 0 ms, 2 = 1 ms, ...]  [Used with system timers to control entry to tick processing code]
	0xC4	4	
	0xC8	4	
	0xCC	4	
	0xD0	0x80	LARGE_INTEGER[16] performanceCount
575810	0x150	4	int performanceCountIndex
575814	0x154	4	

575898	0x1D8	4	
57589C	0x1DC	4	
	-----
5758A0	0x1E0	4	int gamePausedCount	[Display (large) Pause Message]
5758A4	0x1E4	4	HDC backgroundDC
	0x1E8	4	HACCEL hViewAccel	[0x82 = 130 Out2Res.DLL]
	0x1EC	4	HACCEL hUnitAccel	[0xCE = 206 Out2Res.DLL]
	0x1F0	4	HACCEL hPauseAccel	[0xD4 = 212 Out2Res.DLL]
--------------
5758B4	0x1F4		IWnd:Pane:Detail
575A04	0x344		IWnd:Pane:MiniMap
575D18	0x658		IWnd:Pane:Command
--------------
5761B0	0xAF0	?	StatusBar
 576228	 0xB68	 4	 

--------------
576260	0xBA0		IniSettings
 576260	 0xBA0	 0x0	4	int scrollRate			[Game, ScrollRate]
 576264	 0xBA4	 0x4	4	int zoom			[Game, Zoom]
 576268	 0xBA8	 0x8	4	bool bShowAmbientAnimations	[Game, Ambient]
 57626C	 0xBAC	 0xC	4	bool bShowComputerOverlay	[Game, Overlay]
 576270	 0xBB0	 0x10		bool bShowShadows
 576274	 0xBB4	 0x14	4	bool bShowStationaryShadows	[Game, StationaryShadows]
 576278	 0xBB8	 0x18	4	bool showMobileShadows		[Game, MobileShadows]
 57627C	 0xBBC	 0x1C	4	bool bShowCompletedObjectives	[Game, Comp_Obj]
 576280	 0xBC0	 0x20	4	
 576284	 0xBC4	 0x24	4	int frameSkip			[Game, FrameSkip]
 -------------
 576288	0xBC8	0x28	0x1C60					[Font]
--------------
577EE8	0x2828	0x1C60						[Font]
579B48	0x4488	0x1C60						[Font]
 579B8c	 	 4	 
	------
57B7A8	0x60E8	4	
57B7AC	0x60EC	4	bool bMouseOverDetailPane
57B7B0	0x60F0	4	IWnd:Pane* activeDetailPane		[Set by Filter]
57B7B4	0x60F4	8	Point mapMousePos			[pixels]
 57B7B4	 0x60F4	 4	int x
 57B7B8	 0x60F8	 4	int y
57B7BC	0x60FC	4	
57B7C0	0x6100	4	
57B7C4	0x6104	4	



IWnd:Pane
---------
Class Size: 0x6C
---------
0x14	4	GFXSurface:GFXCSDSurface:GFXClippedSurface* surface
0x18	0x50	UIElement*[20] controlArray
0x68	4	int numControls


IWnd:Pane:Detail
----------------
Address: 0x5758B4
Parent Class Size: 0x6C
Max Size: 0x150
----------------
0x6C	0x40	DetailPaneInfo
 0x6C	 4	 HDC hDestDC
-----
0xAC		char[?] largeMessage

0x130	4	HFONT hLargeMessageFont
0x134	4	
0x138		
0x13C		
-----
0x140	0x10	Rect?/Point? viewPosition		[pixel]
 0x140	 4	 
 0x144	 4	 
 0x148	 4	 
 0x14C	 4	 
----------------


IWnd:Pane:MiniMap
-----------------
Address: 0x575A04
Parent Class Size: 0x6C
Max Size: 0x314
-----------------
0x6C		
0x70		
0x74		
0x78		
0x7C	4	bool bGlobeViewButtonVisible?
0x80	0xA4	UIElement:Button:MiniMapButton zoomIn
0x124	0xA4	UIElement:Button:MiniMapButton zoomOut
0x1C8	0xA4	UIElement:Button:MiniMapButton invertMapColors
0x26C	0xA4	UIElement:Button:MiniMapButton toggleGlobeView
-----
0x310	4	int buttonPosition  [0 = Top, 1 = Bottom, 2 = Right, 3 = Left, 4 = NotVisible]
-----------------


IWnd:Pane:Command
-----------------
Address: 0x575D18
Parent Class Size: 0x6C
Max Size: 0x498
-----------------
0x6C	0x408	UIElement:Button:Report[6] reportButton
 0x6C	 0xAC	 UIElement:Button:Report reportButton[0]  [Factory]	
 0x118	 0xAC	 UIElement:Button:Report reportButton[1]  [Lab]
 0x1C4	 0xAC	 UIElement:Button:Report reportButton[2]  [Resources]
 0x270	 0xAC	 UIElement:Button:Report reportButton[3]  [Communications]
 0x31C	 0xAC	 UIElement:Button:Report reportButton[4]  [Satellites]
 0x3C8	 0xAC	 UIElement:Button:Report reportButton[5]  [GameOptions]
-----
0x474	0x10	Rect redrawRect
 0x474	 4	 int x1
 0x478	 4	 int y1
 0x47C	 4	 int x2
 0x480	 4	 int y2
0x484	4	bool bUnitSelectionChanged
0x488	4	int numControls			[Used to lower +0x68]
0x48C	4	UIElement* selectedControl
0x490	4	CommandPaneView* currentView
0x494	4	int viewTop
-----------------



StatusBar
---------
0x4	4	int characterWidth
0x8		
0xC		
...		
0x70	4	
0x74	4	
0x78	4	
0x7C	4	int textStringLength
-----
0x80	0x10	Rect position
 0x80	 4	 int x1
 0x84	 4	 int y1
 0x88	 4	 int x2
 0x8C	 4	 int y2
-----
0x90	4	int lastDrawWidth
0x94		
0x98	4	int ampersandPosition



IWnd:DlgWnd
-----------
0x1C	4	



IWnd:DlgWnd:MultiplayerPreGameSetupWnd
--------------------------------------
0x20	4	UINT timerID?

0x30	4	HWND hActiveControl?

----
0xC8		GameStartInfo
 0xC8	 4	 int gameFlags
 0xCC	 4	 int version
 0xD0	 	 
 0xD4	 4	 int gameFlags
	  .3	  int numPlayers
 0xD8	 0x20	 char[0x20] scriptName
 0xF8	 0x18	 int[6] playerFlags
 0x110	 0x18	 int[6] playerNetID
 0x128	 0x4E	 char[13][6] playerName  [13 characters each]
 0x176	 4	 int gameSpeed
 0x17A	 4	 int randomNumberSeed

-----
0x182	2?	
-----
0x184	4	
0x188	4	
0x18C	4	
0x190	4
-----	
0x194	4	
0x198	4		
0x19C		
0x1A0	4	int hostPlayerNetID
0x1A4	4	
0x1A8	4	
